In modern network protocols, multiple transfers are active at a given point in time. These transfers need to be controlled by finite state machines (FSMs) on both the send side and the receive side in order to fulfill and check the overall protocol, process gather/scatter lists, resolve resource conflicts, etc. Known solutions employ a limited number of separate units that control an aspect of the protocol for some time (e.g., send process) and a dispatcher that assigns work to the separate units, thereby creating a significant amount of communication and mux/de-mux overhead. Furthermore, these known solutions do not scale well. Thus, there exists a need to overcome at least one of the preceding deficiencies and limitations of the related art.